home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 076-100 / scopedisk81 / asmtool1 / test1.asm < prev    next >
Assembly Source File  |  1995-03-19  |  2KB  |  58 lines

  1. ; TEST1.ASM by Warren A. Ring
  2. ;
  3. ; This program picks up the first six
  4. ; english words on the CLI line following "TEST",
  5. ; and, for each word, displays that word, converts
  6. ; that word, if possible, to a 4-byte signed
  7. ; integer, adds that integer to a total, converts
  8. ; that integer back to an ASCII string, and
  9. ; displays that string.  A concatenation of the
  10. ; six words is displayed on the next line, and the
  11. ; total is displayed on the next line.
  12.  
  13.    section code
  14.  
  15.    include "libs:types.i"
  16.    include "libs:dos.i"
  17.    include "macros.asm"
  18.  
  19.    Start               ;Perform startup housekeeping
  20.    MOVE.L  #5,D2       ;Set the counter to 5
  21. X1
  22.    Scanw   #Word       ;Display the first (next) english word from
  23.    Display '='         ; the CLI residue, surrounded by "="
  24.    WritCon #Word
  25.    Display '='
  26.    Space               ;Display " "
  27.    AtoI    #Word,Value ;Convert the word to an integer, and back to a
  28.    ItoA    Value,#Word ; string
  29.    WritCon #Word       ;Display the resulting string
  30.    StrCat  #Word,#Buffer;Concatenate the word onto the final string
  31.    Crlf                ;Display a CR
  32.  
  33.    MOVE.L  Value,D0    ;Add the integer value to
  34.    ADD.L   D0,Total    ; the total
  35.    DBRA    D2,X1       ;Decrement the counter
  36.                        ;If the counter is not yet negative, then jump to X1
  37.    WritCon #Buffer     ;Display the final string
  38.    Crlf                ;Display a CR
  39.    Display <'The total is: '>
  40.    ItoA    Total,#Buffer;Convert the total integer
  41.    WritCon #Buffer     ; to a string, and display it
  42.  
  43.    Crlf                ;Display a CR
  44.    Exit                ;Perform ending housekeeping, and exit
  45.  
  46.    include "warlib.asm"
  47.  
  48.    section data
  49.  
  50.    StrBuf  Buffer,80
  51.    StrBuf  Word,16
  52.  
  53. Value  DS.L    1
  54. Total  DC.L    0
  55.  
  56.    end
  57.  
  58.